package com.zabra.zl.ui.runing.contract;

import com.zabra.zl.base.BaseView;
import com.zabra.zl.data.RunningListBean;
import com.zabra.zl.data.RunningTypeBean;

import okhttp3.RequestBody;
import okhttp3.ResponseBody;
import retrofit2.Call;

public interface RunningContract {
    interface Model {
        Call<RunningTypeBean> getTypeData();

        Call<RunningListBean> getData(RequestBody body);
    }

    interface View extends BaseView {
        @Override
        void showLoading();

        @Override
        void hideLoading();

        @Override
        void onError(Throwable throwable);

        void onSuccess(RunningTypeBean bean);

        void onSuccess(RunningListBean bean, String token);

        void onSuccessFresh(RunningListBean bean);

        void onSuccessLoadMore(RunningListBean bean);
    }

    interface Presenter {
        void getTypeData();

        void getData(RequestBody body);

        void getDataFresh(RequestBody body);

        void getDataLoadMore(RequestBody body);
    }
}
